/*
 * MIT License
 *
 * Copyright (c) 2023 OrdinaryRoad
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: douyin.proto

// Protobuf Java Version: 3.25.3
package tech.ordinaryroad.live.chat.client.codec.douyin.protobuf;

/**
 * Protobuf type {@code Against}
 */
public final class Against extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:Against)
    AgainstOrBuilder {
private static final long serialVersionUID = 0L;
  // Use Against.newBuilder() to construct.
  private Against(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private Against() {
    leftName_ = "";
    leftGoal_ = "";
    rightName_ = "";
    rightGoal_ = "";
  }

  @Override
  @SuppressWarnings({"unused"})
  protected Object newInstance(
      UnusedPrivateParameter unused) {
    return new Against();
  }

  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return Douyin.internal_static_Against_descriptor;
  }

  @Override
  protected FieldAccessorTable
      internalGetFieldAccessorTable() {
    return Douyin.internal_static_Against_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            Against.class, Builder.class);
  }

  private int bitField0_;
  public static final int LEFTNAME_FIELD_NUMBER = 1;
  @SuppressWarnings("serial")
  private volatile Object leftName_ = "";
  /**
   * <code>string leftName = 1;</code>
   * @return The leftName.
   */
  @Override
  public String getLeftName() {
    Object ref = leftName_;
    if (ref instanceof String) {
      return (String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      String s = bs.toStringUtf8();
      leftName_ = s;
      return s;
    }
  }
  /**
   * <code>string leftName = 1;</code>
   * @return The bytes for leftName.
   */
  @Override
  public com.google.protobuf.ByteString
      getLeftNameBytes() {
    Object ref = leftName_;
    if (ref instanceof String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (String) ref);
      leftName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int LEFTLOGO_FIELD_NUMBER = 2;
  private Image leftLogo_;
  /**
   * <code>.Image leftLogo = 2;</code>
   * @return Whether the leftLogo field is set.
   */
  @Override
  public boolean hasLeftLogo() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * <code>.Image leftLogo = 2;</code>
   * @return The leftLogo.
   */
  @Override
  public Image getLeftLogo() {
    return leftLogo_ == null ? Image.getDefaultInstance() : leftLogo_;
  }
  /**
   * <code>.Image leftLogo = 2;</code>
   */
  @Override
  public ImageOrBuilder getLeftLogoOrBuilder() {
    return leftLogo_ == null ? Image.getDefaultInstance() : leftLogo_;
  }

  public static final int LEFTGOAL_FIELD_NUMBER = 3;
  @SuppressWarnings("serial")
  private volatile Object leftGoal_ = "";
  /**
   * <code>string leftGoal = 3;</code>
   * @return The leftGoal.
   */
  @Override
  public String getLeftGoal() {
    Object ref = leftGoal_;
    if (ref instanceof String) {
      return (String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      String s = bs.toStringUtf8();
      leftGoal_ = s;
      return s;
    }
  }
  /**
   * <code>string leftGoal = 3;</code>
   * @return The bytes for leftGoal.
   */
  @Override
  public com.google.protobuf.ByteString
      getLeftGoalBytes() {
    Object ref = leftGoal_;
    if (ref instanceof String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (String) ref);
      leftGoal_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int RIGHTNAME_FIELD_NUMBER = 6;
  @SuppressWarnings("serial")
  private volatile Object rightName_ = "";
  /**
   * <pre>
   *  LeftPlayersList leftPlayersList = 4;
   *  LeftGoalStageDetail leftGoalStageDetail = 5;
   * </pre>
   *
   * <code>string rightName = 6;</code>
   * @return The rightName.
   */
  @Override
  public String getRightName() {
    Object ref = rightName_;
    if (ref instanceof String) {
      return (String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      String s = bs.toStringUtf8();
      rightName_ = s;
      return s;
    }
  }
  /**
   * <pre>
   *  LeftPlayersList leftPlayersList = 4;
   *  LeftGoalStageDetail leftGoalStageDetail = 5;
   * </pre>
   *
   * <code>string rightName = 6;</code>
   * @return The bytes for rightName.
   */
  @Override
  public com.google.protobuf.ByteString
      getRightNameBytes() {
    Object ref = rightName_;
    if (ref instanceof String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (String) ref);
      rightName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int RIGHTLOGO_FIELD_NUMBER = 7;
  private Image rightLogo_;
  /**
   * <code>.Image rightLogo = 7;</code>
   * @return Whether the rightLogo field is set.
   */
  @Override
  public boolean hasRightLogo() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * <code>.Image rightLogo = 7;</code>
   * @return The rightLogo.
   */
  @Override
  public Image getRightLogo() {
    return rightLogo_ == null ? Image.getDefaultInstance() : rightLogo_;
  }
  /**
   * <code>.Image rightLogo = 7;</code>
   */
  @Override
  public ImageOrBuilder getRightLogoOrBuilder() {
    return rightLogo_ == null ? Image.getDefaultInstance() : rightLogo_;
  }

  public static final int RIGHTGOAL_FIELD_NUMBER = 8;
  @SuppressWarnings("serial")
  private volatile Object rightGoal_ = "";
  /**
   * <code>string rightGoal = 8;</code>
   * @return The rightGoal.
   */
  @Override
  public String getRightGoal() {
    Object ref = rightGoal_;
    if (ref instanceof String) {
      return (String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      String s = bs.toStringUtf8();
      rightGoal_ = s;
      return s;
    }
  }
  /**
   * <code>string rightGoal = 8;</code>
   * @return The bytes for rightGoal.
   */
  @Override
  public com.google.protobuf.ByteString
      getRightGoalBytes() {
    Object ref = rightGoal_;
    if (ref instanceof String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (String) ref);
      rightGoal_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TIMESTAMP_FIELD_NUMBER = 11;
  private long timestamp_ = 0L;
  /**
   * <pre>
   *  RightPlayersList rightPlayersList  = 9;
   *  RightGoalStageDetail rightGoalStageDetail = 10;
   * </pre>
   *
   * <code>uint64 timestamp = 11;</code>
   * @return The timestamp.
   */
  @Override
  public long getTimestamp() {
    return timestamp_;
  }

  public static final int VERSION_FIELD_NUMBER = 12;
  private long version_ = 0L;
  /**
   * <code>uint64 version = 12;</code>
   * @return The version.
   */
  @Override
  public long getVersion() {
    return version_;
  }

  public static final int LEFTTEAMID_FIELD_NUMBER = 13;
  private long leftTeamId_ = 0L;
  /**
   * <code>uint64 leftTeamId = 13;</code>
   * @return The leftTeamId.
   */
  @Override
  public long getLeftTeamId() {
    return leftTeamId_;
  }

  public static final int RIGHTTEAMID_FIELD_NUMBER = 14;
  private long rightTeamId_ = 0L;
  /**
   * <code>uint64 rightTeamId = 14;</code>
   * @return The rightTeamId.
   */
  @Override
  public long getRightTeamId() {
    return rightTeamId_;
  }

  public static final int DIFFSEI2ABSSECOND_FIELD_NUMBER = 15;
  private long diffSei2AbsSecond_ = 0L;
  /**
   * <code>uint64 diffSei2absSecond = 15;</code>
   * @return The diffSei2absSecond.
   */
  @Override
  public long getDiffSei2AbsSecond() {
    return diffSei2AbsSecond_;
  }

  public static final int FINALGOALSTAGE_FIELD_NUMBER = 16;
  private int finalGoalStage_ = 0;
  /**
   * <code>uint32 finalGoalStage = 16;</code>
   * @return The finalGoalStage.
   */
  @Override
  public int getFinalGoalStage() {
    return finalGoalStage_;
  }

  public static final int CURRENTGOALSTAGE_FIELD_NUMBER = 17;
  private int currentGoalStage_ = 0;
  /**
   * <code>uint32 currentGoalStage = 17;</code>
   * @return The currentGoalStage.
   */
  @Override
  public int getCurrentGoalStage() {
    return currentGoalStage_;
  }

  public static final int LEFTSCOREADDITION_FIELD_NUMBER = 18;
  private int leftScoreAddition_ = 0;
  /**
   * <code>uint32 leftScoreAddition = 18;</code>
   * @return The leftScoreAddition.
   */
  @Override
  public int getLeftScoreAddition() {
    return leftScoreAddition_;
  }

  public static final int RIGHTSCOREADDITION_FIELD_NUMBER = 19;
  private int rightScoreAddition_ = 0;
  /**
   * <code>uint32 rightScoreAddition = 19;</code>
   * @return The rightScoreAddition.
   */
  @Override
  public int getRightScoreAddition() {
    return rightScoreAddition_;
  }

  public static final int LEFTGOALINT_FIELD_NUMBER = 20;
  private long leftGoalInt_ = 0L;
  /**
   * <code>uint64 leftGoalInt = 20;</code>
   * @return The leftGoalInt.
   */
  @Override
  public long getLeftGoalInt() {
    return leftGoalInt_;
  }

  public static final int RIGHTGOALINT_FIELD_NUMBER = 21;
  private long rightGoalInt_ = 0L;
  /**
   * <code>uint64 rightGoalInt = 21;</code>
   * @return The rightGoalInt.
   */
  @Override
  public long getRightGoalInt() {
    return rightGoalInt_;
  }

  private byte memoizedIsInitialized = -1;
  @Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(leftName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, leftName_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(2, getLeftLogo());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(leftGoal_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, leftGoal_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rightName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, rightName_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      output.writeMessage(7, getRightLogo());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rightGoal_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 8, rightGoal_);
    }
    if (timestamp_ != 0L) {
      output.writeUInt64(11, timestamp_);
    }
    if (version_ != 0L) {
      output.writeUInt64(12, version_);
    }
    if (leftTeamId_ != 0L) {
      output.writeUInt64(13, leftTeamId_);
    }
    if (rightTeamId_ != 0L) {
      output.writeUInt64(14, rightTeamId_);
    }
    if (diffSei2AbsSecond_ != 0L) {
      output.writeUInt64(15, diffSei2AbsSecond_);
    }
    if (finalGoalStage_ != 0) {
      output.writeUInt32(16, finalGoalStage_);
    }
    if (currentGoalStage_ != 0) {
      output.writeUInt32(17, currentGoalStage_);
    }
    if (leftScoreAddition_ != 0) {
      output.writeUInt32(18, leftScoreAddition_);
    }
    if (rightScoreAddition_ != 0) {
      output.writeUInt32(19, rightScoreAddition_);
    }
    if (leftGoalInt_ != 0L) {
      output.writeUInt64(20, leftGoalInt_);
    }
    if (rightGoalInt_ != 0L) {
      output.writeUInt64(21, rightGoalInt_);
    }
    getUnknownFields().writeTo(output);
  }

  @Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(leftName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, leftName_);
    }
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(2, getLeftLogo());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(leftGoal_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, leftGoal_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rightName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, rightName_);
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, getRightLogo());
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rightGoal_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, rightGoal_);
    }
    if (timestamp_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(11, timestamp_);
    }
    if (version_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(12, version_);
    }
    if (leftTeamId_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(13, leftTeamId_);
    }
    if (rightTeamId_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(14, rightTeamId_);
    }
    if (diffSei2AbsSecond_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(15, diffSei2AbsSecond_);
    }
    if (finalGoalStage_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(16, finalGoalStage_);
    }
    if (currentGoalStage_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(17, currentGoalStage_);
    }
    if (leftScoreAddition_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(18, leftScoreAddition_);
    }
    if (rightScoreAddition_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(19, rightScoreAddition_);
    }
    if (leftGoalInt_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(20, leftGoalInt_);
    }
    if (rightGoalInt_ != 0L) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt64Size(21, rightGoalInt_);
    }
    size += getUnknownFields().getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @Override
  public boolean equals(final Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof Against)) {
      return super.equals(obj);
    }
    Against other = (Against) obj;

    if (!getLeftName()
        .equals(other.getLeftName())) return false;
    if (hasLeftLogo() != other.hasLeftLogo()) return false;
    if (hasLeftLogo()) {
      if (!getLeftLogo()
          .equals(other.getLeftLogo())) return false;
    }
    if (!getLeftGoal()
        .equals(other.getLeftGoal())) return false;
    if (!getRightName()
        .equals(other.getRightName())) return false;
    if (hasRightLogo() != other.hasRightLogo()) return false;
    if (hasRightLogo()) {
      if (!getRightLogo()
          .equals(other.getRightLogo())) return false;
    }
    if (!getRightGoal()
        .equals(other.getRightGoal())) return false;
    if (getTimestamp()
        != other.getTimestamp()) return false;
    if (getVersion()
        != other.getVersion()) return false;
    if (getLeftTeamId()
        != other.getLeftTeamId()) return false;
    if (getRightTeamId()
        != other.getRightTeamId()) return false;
    if (getDiffSei2AbsSecond()
        != other.getDiffSei2AbsSecond()) return false;
    if (getFinalGoalStage()
        != other.getFinalGoalStage()) return false;
    if (getCurrentGoalStage()
        != other.getCurrentGoalStage()) return false;
    if (getLeftScoreAddition()
        != other.getLeftScoreAddition()) return false;
    if (getRightScoreAddition()
        != other.getRightScoreAddition()) return false;
    if (getLeftGoalInt()
        != other.getLeftGoalInt()) return false;
    if (getRightGoalInt()
        != other.getRightGoalInt()) return false;
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }

  @Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + LEFTNAME_FIELD_NUMBER;
    hash = (53 * hash) + getLeftName().hashCode();
    if (hasLeftLogo()) {
      hash = (37 * hash) + LEFTLOGO_FIELD_NUMBER;
      hash = (53 * hash) + getLeftLogo().hashCode();
    }
    hash = (37 * hash) + LEFTGOAL_FIELD_NUMBER;
    hash = (53 * hash) + getLeftGoal().hashCode();
    hash = (37 * hash) + RIGHTNAME_FIELD_NUMBER;
    hash = (53 * hash) + getRightName().hashCode();
    if (hasRightLogo()) {
      hash = (37 * hash) + RIGHTLOGO_FIELD_NUMBER;
      hash = (53 * hash) + getRightLogo().hashCode();
    }
    hash = (37 * hash) + RIGHTGOAL_FIELD_NUMBER;
    hash = (53 * hash) + getRightGoal().hashCode();
    hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getTimestamp());
    hash = (37 * hash) + VERSION_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getVersion());
    hash = (37 * hash) + LEFTTEAMID_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getLeftTeamId());
    hash = (37 * hash) + RIGHTTEAMID_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getRightTeamId());
    hash = (37 * hash) + DIFFSEI2ABSSECOND_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getDiffSei2AbsSecond());
    hash = (37 * hash) + FINALGOALSTAGE_FIELD_NUMBER;
    hash = (53 * hash) + getFinalGoalStage();
    hash = (37 * hash) + CURRENTGOALSTAGE_FIELD_NUMBER;
    hash = (53 * hash) + getCurrentGoalStage();
    hash = (37 * hash) + LEFTSCOREADDITION_FIELD_NUMBER;
    hash = (53 * hash) + getLeftScoreAddition();
    hash = (37 * hash) + RIGHTSCOREADDITION_FIELD_NUMBER;
    hash = (53 * hash) + getRightScoreAddition();
    hash = (37 * hash) + LEFTGOALINT_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getLeftGoalInt());
    hash = (37 * hash) + RIGHTGOALINT_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
        getRightGoalInt());
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static Against parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static Against parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static Against parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static Against parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static Against parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static Against parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static Against parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static Against parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  public static Against parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }

  public static Against parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static Against parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static Against parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(Against prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @Override
  protected Builder newBuilderForType(
      BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code Against}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:Against)
      AgainstOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return Douyin.internal_static_Against_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return Douyin.internal_static_Against_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              Against.class, Builder.class);
    }

    // Construct using tech.ordinaryroad.live.chat.client.codec.douyin.protobuf.Against.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getLeftLogoFieldBuilder();
        getRightLogoFieldBuilder();
      }
    }
    @Override
    public Builder clear() {
      super.clear();
      bitField0_ = 0;
      leftName_ = "";
      leftLogo_ = null;
      if (leftLogoBuilder_ != null) {
        leftLogoBuilder_.dispose();
        leftLogoBuilder_ = null;
      }
      leftGoal_ = "";
      rightName_ = "";
      rightLogo_ = null;
      if (rightLogoBuilder_ != null) {
        rightLogoBuilder_.dispose();
        rightLogoBuilder_ = null;
      }
      rightGoal_ = "";
      timestamp_ = 0L;
      version_ = 0L;
      leftTeamId_ = 0L;
      rightTeamId_ = 0L;
      diffSei2AbsSecond_ = 0L;
      finalGoalStage_ = 0;
      currentGoalStage_ = 0;
      leftScoreAddition_ = 0;
      rightScoreAddition_ = 0;
      leftGoalInt_ = 0L;
      rightGoalInt_ = 0L;
      return this;
    }

    @Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return Douyin.internal_static_Against_descriptor;
    }

    @Override
    public Against getDefaultInstanceForType() {
      return Against.getDefaultInstance();
    }

    @Override
    public Against build() {
      Against result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @Override
    public Against buildPartial() {
      Against result = new Against(this);
      if (bitField0_ != 0) { buildPartial0(result); }
      onBuilt();
      return result;
    }

    private void buildPartial0(Against result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.leftName_ = leftName_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.leftLogo_ = leftLogoBuilder_ == null
            ? leftLogo_
            : leftLogoBuilder_.build();
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.leftGoal_ = leftGoal_;
      }
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.rightName_ = rightName_;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.rightLogo_ = rightLogoBuilder_ == null
            ? rightLogo_
            : rightLogoBuilder_.build();
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.rightGoal_ = rightGoal_;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.timestamp_ = timestamp_;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.version_ = version_;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.leftTeamId_ = leftTeamId_;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.rightTeamId_ = rightTeamId_;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.diffSei2AbsSecond_ = diffSei2AbsSecond_;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.finalGoalStage_ = finalGoalStage_;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.currentGoalStage_ = currentGoalStage_;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.leftScoreAddition_ = leftScoreAddition_;
      }
      if (((from_bitField0_ & 0x00004000) != 0)) {
        result.rightScoreAddition_ = rightScoreAddition_;
      }
      if (((from_bitField0_ & 0x00008000) != 0)) {
        result.leftGoalInt_ = leftGoalInt_;
      }
      if (((from_bitField0_ & 0x00010000) != 0)) {
        result.rightGoalInt_ = rightGoalInt_;
      }
      result.bitField0_ |= to_bitField0_;
    }

    @Override
    public Builder clone() {
      return super.clone();
    }
    @Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        Object value) {
      return super.setField(field, value);
    }
    @Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        Object value) {
      return super.addRepeatedField(field, value);
    }
    @Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof Against) {
        return mergeFrom((Against)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(Against other) {
      if (other == Against.getDefaultInstance()) return this;
      if (!other.getLeftName().isEmpty()) {
        leftName_ = other.leftName_;
        bitField0_ |= 0x00000001;
        onChanged();
      }
      if (other.hasLeftLogo()) {
        mergeLeftLogo(other.getLeftLogo());
      }
      if (!other.getLeftGoal().isEmpty()) {
        leftGoal_ = other.leftGoal_;
        bitField0_ |= 0x00000004;
        onChanged();
      }
      if (!other.getRightName().isEmpty()) {
        rightName_ = other.rightName_;
        bitField0_ |= 0x00000008;
        onChanged();
      }
      if (other.hasRightLogo()) {
        mergeRightLogo(other.getRightLogo());
      }
      if (!other.getRightGoal().isEmpty()) {
        rightGoal_ = other.rightGoal_;
        bitField0_ |= 0x00000020;
        onChanged();
      }
      if (other.getTimestamp() != 0L) {
        setTimestamp(other.getTimestamp());
      }
      if (other.getVersion() != 0L) {
        setVersion(other.getVersion());
      }
      if (other.getLeftTeamId() != 0L) {
        setLeftTeamId(other.getLeftTeamId());
      }
      if (other.getRightTeamId() != 0L) {
        setRightTeamId(other.getRightTeamId());
      }
      if (other.getDiffSei2AbsSecond() != 0L) {
        setDiffSei2AbsSecond(other.getDiffSei2AbsSecond());
      }
      if (other.getFinalGoalStage() != 0) {
        setFinalGoalStage(other.getFinalGoalStage());
      }
      if (other.getCurrentGoalStage() != 0) {
        setCurrentGoalStage(other.getCurrentGoalStage());
      }
      if (other.getLeftScoreAddition() != 0) {
        setLeftScoreAddition(other.getLeftScoreAddition());
      }
      if (other.getRightScoreAddition() != 0) {
        setRightScoreAddition(other.getRightScoreAddition());
      }
      if (other.getLeftGoalInt() != 0L) {
        setLeftGoalInt(other.getLeftGoalInt());
      }
      if (other.getRightGoalInt() != 0L) {
        setRightGoalInt(other.getRightGoalInt());
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }

    @Override
    public final boolean isInitialized() {
      return true;
    }

    @Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              leftName_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000001;
              break;
            } // case 10
            case 18: {
              input.readMessage(
                  getLeftLogoFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00000002;
              break;
            } // case 18
            case 26: {
              leftGoal_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000004;
              break;
            } // case 26
            case 50: {
              rightName_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000008;
              break;
            } // case 50
            case 58: {
              input.readMessage(
                  getRightLogoFieldBuilder().getBuilder(),
                  extensionRegistry);
              bitField0_ |= 0x00000010;
              break;
            } // case 58
            case 66: {
              rightGoal_ = input.readStringRequireUtf8();
              bitField0_ |= 0x00000020;
              break;
            } // case 66
            case 88: {
              timestamp_ = input.readUInt64();
              bitField0_ |= 0x00000040;
              break;
            } // case 88
            case 96: {
              version_ = input.readUInt64();
              bitField0_ |= 0x00000080;
              break;
            } // case 96
            case 104: {
              leftTeamId_ = input.readUInt64();
              bitField0_ |= 0x00000100;
              break;
            } // case 104
            case 112: {
              rightTeamId_ = input.readUInt64();
              bitField0_ |= 0x00000200;
              break;
            } // case 112
            case 120: {
              diffSei2AbsSecond_ = input.readUInt64();
              bitField0_ |= 0x00000400;
              break;
            } // case 120
            case 128: {
              finalGoalStage_ = input.readUInt32();
              bitField0_ |= 0x00000800;
              break;
            } // case 128
            case 136: {
              currentGoalStage_ = input.readUInt32();
              bitField0_ |= 0x00001000;
              break;
            } // case 136
            case 144: {
              leftScoreAddition_ = input.readUInt32();
              bitField0_ |= 0x00002000;
              break;
            } // case 144
            case 152: {
              rightScoreAddition_ = input.readUInt32();
              bitField0_ |= 0x00004000;
              break;
            } // case 152
            case 160: {
              leftGoalInt_ = input.readUInt64();
              bitField0_ |= 0x00008000;
              break;
            } // case 160
            case 168: {
              rightGoalInt_ = input.readUInt64();
              bitField0_ |= 0x00010000;
              break;
            } // case 168
            default: {
              if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                done = true; // was an endgroup tag
              }
              break;
            } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
    private int bitField0_;

    private Object leftName_ = "";
    /**
     * <code>string leftName = 1;</code>
     * @return The leftName.
     */
    public String getLeftName() {
      Object ref = leftName_;
      if (!(ref instanceof String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        leftName_ = s;
        return s;
      } else {
        return (String) ref;
      }
    }
    /**
     * <code>string leftName = 1;</code>
     * @return The bytes for leftName.
     */
    public com.google.protobuf.ByteString
        getLeftNameBytes() {
      Object ref = leftName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        leftName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string leftName = 1;</code>
     * @param value The leftName to set.
     * @return This builder for chaining.
     */
    public Builder setLeftName(
        String value) {
      if (value == null) { throw new NullPointerException(); }
      leftName_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }
    /**
     * <code>string leftName = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearLeftName() {
      leftName_ = getDefaultInstance().getLeftName();
      bitField0_ = (bitField0_ & ~0x00000001);
      onChanged();
      return this;
    }
    /**
     * <code>string leftName = 1;</code>
     * @param value The bytes for leftName to set.
     * @return This builder for chaining.
     */
    public Builder setLeftNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      leftName_ = value;
      bitField0_ |= 0x00000001;
      onChanged();
      return this;
    }

    private Image leftLogo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        Image, Image.Builder, ImageOrBuilder> leftLogoBuilder_;
    /**
     * <code>.Image leftLogo = 2;</code>
     * @return Whether the leftLogo field is set.
     */
    public boolean hasLeftLogo() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     * @return The leftLogo.
     */
    public Image getLeftLogo() {
      if (leftLogoBuilder_ == null) {
        return leftLogo_ == null ? Image.getDefaultInstance() : leftLogo_;
      } else {
        return leftLogoBuilder_.getMessage();
      }
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public Builder setLeftLogo(Image value) {
      if (leftLogoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        leftLogo_ = value;
      } else {
        leftLogoBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public Builder setLeftLogo(
        Image.Builder builderForValue) {
      if (leftLogoBuilder_ == null) {
        leftLogo_ = builderForValue.build();
      } else {
        leftLogoBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000002;
      onChanged();
      return this;
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public Builder mergeLeftLogo(Image value) {
      if (leftLogoBuilder_ == null) {
        if (((bitField0_ & 0x00000002) != 0) &&
          leftLogo_ != null &&
          leftLogo_ != Image.getDefaultInstance()) {
          getLeftLogoBuilder().mergeFrom(value);
        } else {
          leftLogo_ = value;
        }
      } else {
        leftLogoBuilder_.mergeFrom(value);
      }
      if (leftLogo_ != null) {
        bitField0_ |= 0x00000002;
        onChanged();
      }
      return this;
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public Builder clearLeftLogo() {
      bitField0_ = (bitField0_ & ~0x00000002);
      leftLogo_ = null;
      if (leftLogoBuilder_ != null) {
        leftLogoBuilder_.dispose();
        leftLogoBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public Image.Builder getLeftLogoBuilder() {
      bitField0_ |= 0x00000002;
      onChanged();
      return getLeftLogoFieldBuilder().getBuilder();
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    public ImageOrBuilder getLeftLogoOrBuilder() {
      if (leftLogoBuilder_ != null) {
        return leftLogoBuilder_.getMessageOrBuilder();
      } else {
        return leftLogo_ == null ?
            Image.getDefaultInstance() : leftLogo_;
      }
    }
    /**
     * <code>.Image leftLogo = 2;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        Image, Image.Builder, ImageOrBuilder>
        getLeftLogoFieldBuilder() {
      if (leftLogoBuilder_ == null) {
        leftLogoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            Image, Image.Builder, ImageOrBuilder>(
                getLeftLogo(),
                getParentForChildren(),
                isClean());
        leftLogo_ = null;
      }
      return leftLogoBuilder_;
    }

    private Object leftGoal_ = "";
    /**
     * <code>string leftGoal = 3;</code>
     * @return The leftGoal.
     */
    public String getLeftGoal() {
      Object ref = leftGoal_;
      if (!(ref instanceof String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        leftGoal_ = s;
        return s;
      } else {
        return (String) ref;
      }
    }
    /**
     * <code>string leftGoal = 3;</code>
     * @return The bytes for leftGoal.
     */
    public com.google.protobuf.ByteString
        getLeftGoalBytes() {
      Object ref = leftGoal_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        leftGoal_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string leftGoal = 3;</code>
     * @param value The leftGoal to set.
     * @return This builder for chaining.
     */
    public Builder setLeftGoal(
        String value) {
      if (value == null) { throw new NullPointerException(); }
      leftGoal_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }
    /**
     * <code>string leftGoal = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearLeftGoal() {
      leftGoal_ = getDefaultInstance().getLeftGoal();
      bitField0_ = (bitField0_ & ~0x00000004);
      onChanged();
      return this;
    }
    /**
     * <code>string leftGoal = 3;</code>
     * @param value The bytes for leftGoal to set.
     * @return This builder for chaining.
     */
    public Builder setLeftGoalBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      leftGoal_ = value;
      bitField0_ |= 0x00000004;
      onChanged();
      return this;
    }

    private Object rightName_ = "";
    /**
     * <pre>
     *  LeftPlayersList leftPlayersList = 4;
     *  LeftGoalStageDetail leftGoalStageDetail = 5;
     * </pre>
     *
     * <code>string rightName = 6;</code>
     * @return The rightName.
     */
    public String getRightName() {
      Object ref = rightName_;
      if (!(ref instanceof String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        rightName_ = s;
        return s;
      } else {
        return (String) ref;
      }
    }
    /**
     * <pre>
     *  LeftPlayersList leftPlayersList = 4;
     *  LeftGoalStageDetail leftGoalStageDetail = 5;
     * </pre>
     *
     * <code>string rightName = 6;</code>
     * @return The bytes for rightName.
     */
    public com.google.protobuf.ByteString
        getRightNameBytes() {
      Object ref = rightName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        rightName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     *  LeftPlayersList leftPlayersList = 4;
     *  LeftGoalStageDetail leftGoalStageDetail = 5;
     * </pre>
     *
     * <code>string rightName = 6;</code>
     * @param value The rightName to set.
     * @return This builder for chaining.
     */
    public Builder setRightName(
        String value) {
      if (value == null) { throw new NullPointerException(); }
      rightName_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }
    /**
     * <pre>
     *  LeftPlayersList leftPlayersList = 4;
     *  LeftGoalStageDetail leftGoalStageDetail = 5;
     * </pre>
     *
     * <code>string rightName = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearRightName() {
      rightName_ = getDefaultInstance().getRightName();
      bitField0_ = (bitField0_ & ~0x00000008);
      onChanged();
      return this;
    }
    /**
     * <pre>
     *  LeftPlayersList leftPlayersList = 4;
     *  LeftGoalStageDetail leftGoalStageDetail = 5;
     * </pre>
     *
     * <code>string rightName = 6;</code>
     * @param value The bytes for rightName to set.
     * @return This builder for chaining.
     */
    public Builder setRightNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      rightName_ = value;
      bitField0_ |= 0x00000008;
      onChanged();
      return this;
    }

    private Image rightLogo_;
    private com.google.protobuf.SingleFieldBuilderV3<
        Image, Image.Builder, ImageOrBuilder> rightLogoBuilder_;
    /**
     * <code>.Image rightLogo = 7;</code>
     * @return Whether the rightLogo field is set.
     */
    public boolean hasRightLogo() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     * @return The rightLogo.
     */
    public Image getRightLogo() {
      if (rightLogoBuilder_ == null) {
        return rightLogo_ == null ? Image.getDefaultInstance() : rightLogo_;
      } else {
        return rightLogoBuilder_.getMessage();
      }
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public Builder setRightLogo(Image value) {
      if (rightLogoBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        rightLogo_ = value;
      } else {
        rightLogoBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public Builder setRightLogo(
        Image.Builder builderForValue) {
      if (rightLogoBuilder_ == null) {
        rightLogo_ = builderForValue.build();
      } else {
        rightLogoBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000010;
      onChanged();
      return this;
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public Builder mergeRightLogo(Image value) {
      if (rightLogoBuilder_ == null) {
        if (((bitField0_ & 0x00000010) != 0) &&
          rightLogo_ != null &&
          rightLogo_ != Image.getDefaultInstance()) {
          getRightLogoBuilder().mergeFrom(value);
        } else {
          rightLogo_ = value;
        }
      } else {
        rightLogoBuilder_.mergeFrom(value);
      }
      if (rightLogo_ != null) {
        bitField0_ |= 0x00000010;
        onChanged();
      }
      return this;
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public Builder clearRightLogo() {
      bitField0_ = (bitField0_ & ~0x00000010);
      rightLogo_ = null;
      if (rightLogoBuilder_ != null) {
        rightLogoBuilder_.dispose();
        rightLogoBuilder_ = null;
      }
      onChanged();
      return this;
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public Image.Builder getRightLogoBuilder() {
      bitField0_ |= 0x00000010;
      onChanged();
      return getRightLogoFieldBuilder().getBuilder();
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    public ImageOrBuilder getRightLogoOrBuilder() {
      if (rightLogoBuilder_ != null) {
        return rightLogoBuilder_.getMessageOrBuilder();
      } else {
        return rightLogo_ == null ?
            Image.getDefaultInstance() : rightLogo_;
      }
    }
    /**
     * <code>.Image rightLogo = 7;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        Image, Image.Builder, ImageOrBuilder>
        getRightLogoFieldBuilder() {
      if (rightLogoBuilder_ == null) {
        rightLogoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            Image, Image.Builder, ImageOrBuilder>(
                getRightLogo(),
                getParentForChildren(),
                isClean());
        rightLogo_ = null;
      }
      return rightLogoBuilder_;
    }

    private Object rightGoal_ = "";
    /**
     * <code>string rightGoal = 8;</code>
     * @return The rightGoal.
     */
    public String getRightGoal() {
      Object ref = rightGoal_;
      if (!(ref instanceof String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        rightGoal_ = s;
        return s;
      } else {
        return (String) ref;
      }
    }
    /**
     * <code>string rightGoal = 8;</code>
     * @return The bytes for rightGoal.
     */
    public com.google.protobuf.ByteString
        getRightGoalBytes() {
      Object ref = rightGoal_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        rightGoal_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string rightGoal = 8;</code>
     * @param value The rightGoal to set.
     * @return This builder for chaining.
     */
    public Builder setRightGoal(
        String value) {
      if (value == null) { throw new NullPointerException(); }
      rightGoal_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }
    /**
     * <code>string rightGoal = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearRightGoal() {
      rightGoal_ = getDefaultInstance().getRightGoal();
      bitField0_ = (bitField0_ & ~0x00000020);
      onChanged();
      return this;
    }
    /**
     * <code>string rightGoal = 8;</code>
     * @param value The bytes for rightGoal to set.
     * @return This builder for chaining.
     */
    public Builder setRightGoalBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) { throw new NullPointerException(); }
      checkByteStringIsUtf8(value);
      rightGoal_ = value;
      bitField0_ |= 0x00000020;
      onChanged();
      return this;
    }

    private long timestamp_ ;
    /**
     * <pre>
     *  RightPlayersList rightPlayersList  = 9;
     *  RightGoalStageDetail rightGoalStageDetail = 10;
     * </pre>
     *
     * <code>uint64 timestamp = 11;</code>
     * @return The timestamp.
     */
    @Override
    public long getTimestamp() {
      return timestamp_;
    }
    /**
     * <pre>
     *  RightPlayersList rightPlayersList  = 9;
     *  RightGoalStageDetail rightGoalStageDetail = 10;
     * </pre>
     *
     * <code>uint64 timestamp = 11;</code>
     * @param value The timestamp to set.
     * @return This builder for chaining.
     */
    public Builder setTimestamp(long value) {

      timestamp_ = value;
      bitField0_ |= 0x00000040;
      onChanged();
      return this;
    }
    /**
     * <pre>
     *  RightPlayersList rightPlayersList  = 9;
     *  RightGoalStageDetail rightGoalStageDetail = 10;
     * </pre>
     *
     * <code>uint64 timestamp = 11;</code>
     * @return This builder for chaining.
     */
    public Builder clearTimestamp() {
      bitField0_ = (bitField0_ & ~0x00000040);
      timestamp_ = 0L;
      onChanged();
      return this;
    }

    private long version_ ;
    /**
     * <code>uint64 version = 12;</code>
     * @return The version.
     */
    @Override
    public long getVersion() {
      return version_;
    }
    /**
     * <code>uint64 version = 12;</code>
     * @param value The version to set.
     * @return This builder for chaining.
     */
    public Builder setVersion(long value) {

      version_ = value;
      bitField0_ |= 0x00000080;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 version = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearVersion() {
      bitField0_ = (bitField0_ & ~0x00000080);
      version_ = 0L;
      onChanged();
      return this;
    }

    private long leftTeamId_ ;
    /**
     * <code>uint64 leftTeamId = 13;</code>
     * @return The leftTeamId.
     */
    @Override
    public long getLeftTeamId() {
      return leftTeamId_;
    }
    /**
     * <code>uint64 leftTeamId = 13;</code>
     * @param value The leftTeamId to set.
     * @return This builder for chaining.
     */
    public Builder setLeftTeamId(long value) {

      leftTeamId_ = value;
      bitField0_ |= 0x00000100;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 leftTeamId = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearLeftTeamId() {
      bitField0_ = (bitField0_ & ~0x00000100);
      leftTeamId_ = 0L;
      onChanged();
      return this;
    }

    private long rightTeamId_ ;
    /**
     * <code>uint64 rightTeamId = 14;</code>
     * @return The rightTeamId.
     */
    @Override
    public long getRightTeamId() {
      return rightTeamId_;
    }
    /**
     * <code>uint64 rightTeamId = 14;</code>
     * @param value The rightTeamId to set.
     * @return This builder for chaining.
     */
    public Builder setRightTeamId(long value) {

      rightTeamId_ = value;
      bitField0_ |= 0x00000200;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 rightTeamId = 14;</code>
     * @return This builder for chaining.
     */
    public Builder clearRightTeamId() {
      bitField0_ = (bitField0_ & ~0x00000200);
      rightTeamId_ = 0L;
      onChanged();
      return this;
    }

    private long diffSei2AbsSecond_ ;
    /**
     * <code>uint64 diffSei2absSecond = 15;</code>
     * @return The diffSei2absSecond.
     */
    @Override
    public long getDiffSei2AbsSecond() {
      return diffSei2AbsSecond_;
    }
    /**
     * <code>uint64 diffSei2absSecond = 15;</code>
     * @param value The diffSei2absSecond to set.
     * @return This builder for chaining.
     */
    public Builder setDiffSei2AbsSecond(long value) {

      diffSei2AbsSecond_ = value;
      bitField0_ |= 0x00000400;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 diffSei2absSecond = 15;</code>
     * @return This builder for chaining.
     */
    public Builder clearDiffSei2AbsSecond() {
      bitField0_ = (bitField0_ & ~0x00000400);
      diffSei2AbsSecond_ = 0L;
      onChanged();
      return this;
    }

    private int finalGoalStage_ ;
    /**
     * <code>uint32 finalGoalStage = 16;</code>
     * @return The finalGoalStage.
     */
    @Override
    public int getFinalGoalStage() {
      return finalGoalStage_;
    }
    /**
     * <code>uint32 finalGoalStage = 16;</code>
     * @param value The finalGoalStage to set.
     * @return This builder for chaining.
     */
    public Builder setFinalGoalStage(int value) {

      finalGoalStage_ = value;
      bitField0_ |= 0x00000800;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 finalGoalStage = 16;</code>
     * @return This builder for chaining.
     */
    public Builder clearFinalGoalStage() {
      bitField0_ = (bitField0_ & ~0x00000800);
      finalGoalStage_ = 0;
      onChanged();
      return this;
    }

    private int currentGoalStage_ ;
    /**
     * <code>uint32 currentGoalStage = 17;</code>
     * @return The currentGoalStage.
     */
    @Override
    public int getCurrentGoalStage() {
      return currentGoalStage_;
    }
    /**
     * <code>uint32 currentGoalStage = 17;</code>
     * @param value The currentGoalStage to set.
     * @return This builder for chaining.
     */
    public Builder setCurrentGoalStage(int value) {

      currentGoalStage_ = value;
      bitField0_ |= 0x00001000;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 currentGoalStage = 17;</code>
     * @return This builder for chaining.
     */
    public Builder clearCurrentGoalStage() {
      bitField0_ = (bitField0_ & ~0x00001000);
      currentGoalStage_ = 0;
      onChanged();
      return this;
    }

    private int leftScoreAddition_ ;
    /**
     * <code>uint32 leftScoreAddition = 18;</code>
     * @return The leftScoreAddition.
     */
    @Override
    public int getLeftScoreAddition() {
      return leftScoreAddition_;
    }
    /**
     * <code>uint32 leftScoreAddition = 18;</code>
     * @param value The leftScoreAddition to set.
     * @return This builder for chaining.
     */
    public Builder setLeftScoreAddition(int value) {

      leftScoreAddition_ = value;
      bitField0_ |= 0x00002000;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 leftScoreAddition = 18;</code>
     * @return This builder for chaining.
     */
    public Builder clearLeftScoreAddition() {
      bitField0_ = (bitField0_ & ~0x00002000);
      leftScoreAddition_ = 0;
      onChanged();
      return this;
    }

    private int rightScoreAddition_ ;
    /**
     * <code>uint32 rightScoreAddition = 19;</code>
     * @return The rightScoreAddition.
     */
    @Override
    public int getRightScoreAddition() {
      return rightScoreAddition_;
    }
    /**
     * <code>uint32 rightScoreAddition = 19;</code>
     * @param value The rightScoreAddition to set.
     * @return This builder for chaining.
     */
    public Builder setRightScoreAddition(int value) {

      rightScoreAddition_ = value;
      bitField0_ |= 0x00004000;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 rightScoreAddition = 19;</code>
     * @return This builder for chaining.
     */
    public Builder clearRightScoreAddition() {
      bitField0_ = (bitField0_ & ~0x00004000);
      rightScoreAddition_ = 0;
      onChanged();
      return this;
    }

    private long leftGoalInt_ ;
    /**
     * <code>uint64 leftGoalInt = 20;</code>
     * @return The leftGoalInt.
     */
    @Override
    public long getLeftGoalInt() {
      return leftGoalInt_;
    }
    /**
     * <code>uint64 leftGoalInt = 20;</code>
     * @param value The leftGoalInt to set.
     * @return This builder for chaining.
     */
    public Builder setLeftGoalInt(long value) {

      leftGoalInt_ = value;
      bitField0_ |= 0x00008000;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 leftGoalInt = 20;</code>
     * @return This builder for chaining.
     */
    public Builder clearLeftGoalInt() {
      bitField0_ = (bitField0_ & ~0x00008000);
      leftGoalInt_ = 0L;
      onChanged();
      return this;
    }

    private long rightGoalInt_ ;
    /**
     * <code>uint64 rightGoalInt = 21;</code>
     * @return The rightGoalInt.
     */
    @Override
    public long getRightGoalInt() {
      return rightGoalInt_;
    }
    /**
     * <code>uint64 rightGoalInt = 21;</code>
     * @param value The rightGoalInt to set.
     * @return This builder for chaining.
     */
    public Builder setRightGoalInt(long value) {

      rightGoalInt_ = value;
      bitField0_ |= 0x00010000;
      onChanged();
      return this;
    }
    /**
     * <code>uint64 rightGoalInt = 21;</code>
     * @return This builder for chaining.
     */
    public Builder clearRightGoalInt() {
      bitField0_ = (bitField0_ & ~0x00010000);
      rightGoalInt_ = 0L;
      onChanged();
      return this;
    }
    @Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:Against)
  }

  // @@protoc_insertion_point(class_scope:Against)
  private static final Against DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new Against();
  }

  public static Against getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<Against>
      PARSER = new com.google.protobuf.AbstractParser<Against>() {
    @Override
    public Against parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      Builder builder = newBuilder();
      try {
        builder.mergeFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(builder.buildPartial());
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(e)
            .setUnfinishedMessage(builder.buildPartial());
      }
      return builder.buildPartial();
    }
  };

  public static com.google.protobuf.Parser<Against> parser() {
    return PARSER;
  }

  @Override
  public com.google.protobuf.Parser<Against> getParserForType() {
    return PARSER;
  }

  @Override
  public Against getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

